<?php
/**
 * SGoodsController.php
 * Created by PhpStorm.
 * User: 江小波
 * Date: 2019/06/26
 * Time: 22:34
 */
namespace app\common\auto_curd\php_system\controller;

use app\common\auto_curd\php_system\model\SGoodsModel;
use think\Controller;

abstract class SGoodsController extends Controller
{
    /**
     * 创建操作
     * @return \think\response\View|void
     */
    public function create()
    {
        if($this->request->isPost()){
            $params = $this->request->post();
            $addData = [];

            // 自增id
            if(isset($params['id']) && $params['id']!="")
            {
                $addData['id'] = $params['id'];
            }

            // 地区配送（0不需要,1需要）
            if(isset($params['region_type']) && $params['region_type']!="")
            {
                $addData['region_type'] = $params['region_type'];
            }

            // 是否扣减库存（0否, 1是）
            if(isset($params['is_deduction_inventory']) && $params['is_deduction_inventory']!="")
            {
                $addData['is_deduction_inventory'] = $params['is_deduction_inventory'];
            }

            // 是否上架（下架后用户不可见, 0否, 1是）
            if(isset($params['is_shelves']) && $params['is_shelves']!="")
            {
                $addData['is_shelves'] = $params['is_shelves'];
            }

            // 是否首页推荐（0否, 1是）
            if(isset($params['is_home_recommended']) && $params['is_home_recommended']!="")
            {
                $addData['is_home_recommended'] = $params['is_home_recommended'];
            }

            // 相册图片数量
            if(isset($params['photo_count']) && $params['photo_count']!="")
            {
                $addData['photo_count'] = $params['photo_count'];
            }

            // 是否已删除（0 未删除, 大于0则是删除时间）
            if(isset($params['is_delete_time']) && $params['is_delete_time']!="")
            {
                $addData['is_delete_time'] = $params['is_delete_time'];
            }

            // 添加时间
            if(isset($params['create_ts']) && $params['create_ts']!="")
            {
                $addData['create_ts'] = $params['create_ts'];
            }

            // 更新时间
            if(isset($params['update_ts']) && $params['update_ts']!="")
            {
                $addData['update_ts'] = $params['update_ts'];
            }

            // 品牌id
            if(isset($params['brand_id']) && $params['brand_id']!="")
            {
                $addData['brand_id'] = $params['brand_id'];
            }

            // 库存（所有规格库存总和）
            if(isset($params['inventory']) && $params['inventory']!="")
            {
                $addData['inventory'] = $params['inventory'];
            }

            // 购买赠送积分
            if(isset($params['give_integral']) && $params['give_integral']!="")
            {
                $addData['give_integral'] = $params['give_integral'];
            }

            // 最低起购数量 （默认1）
            if(isset($params['buy_min_number']) && $params['buy_min_number']!="")
            {
                $addData['buy_min_number'] = $params['buy_min_number'];
            }

            // 最大购买数量（最大数值 100000000, 小于等于0或空则不限）
            if(isset($params['buy_max_number']) && $params['buy_max_number']!="")
            {
                $addData['buy_max_number'] = $params['buy_max_number'];
            }

            // 销量
            if(isset($params['sales_count']) && $params['sales_count']!="")
            {
                $addData['sales_count'] = $params['sales_count'];
            }

            // 访问次数
            if(isset($params['access_count']) && $params['access_count']!="")
            {
                $addData['access_count'] = $params['access_count'];
            }

            // 最低原价
            if(isset($params['min_original_price']) && $params['min_original_price']!="")
            {
                $addData['min_original_price'] = $params['min_original_price'];
            }

            // 最大原价
            if(isset($params['max_original_price']) && $params['max_original_price']!="")
            {
                $addData['max_original_price'] = $params['max_original_price'];
            }

            // 最低价格
            if(isset($params['min_price']) && $params['min_price']!="")
            {
                $addData['min_price'] = $params['min_price'];
            }

            // 最高价格
            if(isset($params['max_price']) && $params['max_price']!="")
            {
                $addData['max_price'] = $params['max_price'];
            }

            // 标题颜色
            if(isset($params['title_color']) && $params['title_color']!="")
            {
                $addData['title_color'] = $params['title_color'];
            }

            // 库存单位
            if(isset($params['inventory_unit']) && $params['inventory_unit']!="")
            {
                $addData['inventory_unit'] = $params['inventory_unit'];
            }

            // 型号
            if(isset($params['model']) && $params['model']!="")
            {
                $addData['model'] = $params['model'];
            }

            // 品牌名称
            if(isset($params['brand_name']) && $params['brand_name']!="")
            {
                $addData['brand_name'] = $params['brand_name'];
            }

            // 标题
            if(isset($params['title']) && $params['title']!="")
            {
                $addData['title'] = $params['title'];
            }

            // 原价（单值:10, 区间:10.00-20.00）一般用于展示使用
            if(isset($params['original_price']) && $params['original_price']!="")
            {
                $addData['original_price'] = $params['original_price'];
            }

            // 销售价格（单值:10, 区间:10.00-20.00）一般用于展示使用
            if(isset($params['price']) && $params['price']!="")
            {
                $addData['price'] = $params['price'];
            }

            // 分类树形描述(,1,2,3,)
            if(isset($params['category_tree']) && $params['category_tree']!="")
            {
                $addData['category_tree'] = $params['category_tree'];
            }

            // 分类名称树形描述(,name1,name2,name3,)
            if(isset($params['category_name_tree']) && $params['category_name_tree']!="")
            {
                $addData['category_name_tree'] = $params['category_name_tree'];
            }

            // 封面图片
            if(isset($params['images']) && $params['images']!="")
            {
                $addData['images'] = $params['images'];
            }

            // 短视频
            if(isset($params['video']) && $params['video']!="")
            {
                $addData['video'] = $params['video'];
            }

            // 规格列参数
            if(isset($params['spec_cols']) && $params['spec_cols']!="")
            {
                $addData['spec_cols'] = $params['spec_cols'];
            }

            // 首页推荐图片
            if(isset($params['home_recommended_images']) && $params['home_recommended_images']!="")
            {
                $addData['home_recommended_images'] = $params['home_recommended_images'];
            }

            // 自定义属性
            if(isset($params['attr_list']) && $params['attr_list']!="")
            {
                $addData['attr_list'] = $params['attr_list'];
            }

            // 相册
            if(isset($params['photo_list']) && $params['photo_list']!="")
            {
                $addData['photo_list'] = $params['photo_list'];
            }

            // 配送区域
            if(isset($params['region_list']) && $params['region_list']!="")
            {
                $addData['region_list'] = $params['region_list'];
            }

            // 电脑端详情内容
            if(isset($params['content_web']) && $params['content_web']!="")
            {
                $addData['content_web'] = $params['content_web'];
            }

            $status = SGoodsModel::save(null,$addData);
            if(!$status)
            {
                return $this->error('添加失败');
            }
            else
            {
                return $this->success('添加成功',url('update')."?id=".$status);
            }
        }else{
            return view('common/auto_curd/php_system@s_goods/create');
        }
    }
    
    /**
     * 更新操作
     */
    public function update()
    {
        if($this->request->isPost()){
            $params = $this->request->post();
            $saveData = [];

            // 自增id
            if(isset($params['id']) && $params['id']!="")
            {
                $saveData['id'] = $params['id'];
            }

            // 地区配送（0不需要,1需要）
            if(isset($params['region_type']) && $params['region_type']!="")
            {
                $saveData['region_type'] = $params['region_type'];
            }

            // 是否扣减库存（0否, 1是）
            if(isset($params['is_deduction_inventory']) && $params['is_deduction_inventory']!="")
            {
                $saveData['is_deduction_inventory'] = $params['is_deduction_inventory'];
            }

            // 是否上架（下架后用户不可见, 0否, 1是）
            if(isset($params['is_shelves']) && $params['is_shelves']!="")
            {
                $saveData['is_shelves'] = $params['is_shelves'];
            }

            // 是否首页推荐（0否, 1是）
            if(isset($params['is_home_recommended']) && $params['is_home_recommended']!="")
            {
                $saveData['is_home_recommended'] = $params['is_home_recommended'];
            }

            // 相册图片数量
            if(isset($params['photo_count']) && $params['photo_count']!="")
            {
                $saveData['photo_count'] = $params['photo_count'];
            }

            // 是否已删除（0 未删除, 大于0则是删除时间）
            if(isset($params['is_delete_time']) && $params['is_delete_time']!="")
            {
                $saveData['is_delete_time'] = $params['is_delete_time'];
            }

            // 添加时间
            if(isset($params['create_ts']) && $params['create_ts']!="")
            {
                $saveData['create_ts'] = $params['create_ts'];
            }

            // 更新时间
            if(isset($params['update_ts']) && $params['update_ts']!="")
            {
                $saveData['update_ts'] = $params['update_ts'];
            }

            // 品牌id
            if(isset($params['brand_id']) && $params['brand_id']!="")
            {
                $saveData['brand_id'] = $params['brand_id'];
            }

            // 库存（所有规格库存总和）
            if(isset($params['inventory']) && $params['inventory']!="")
            {
                $saveData['inventory'] = $params['inventory'];
            }

            // 购买赠送积分
            if(isset($params['give_integral']) && $params['give_integral']!="")
            {
                $saveData['give_integral'] = $params['give_integral'];
            }

            // 最低起购数量 （默认1）
            if(isset($params['buy_min_number']) && $params['buy_min_number']!="")
            {
                $saveData['buy_min_number'] = $params['buy_min_number'];
            }

            // 最大购买数量（最大数值 100000000, 小于等于0或空则不限）
            if(isset($params['buy_max_number']) && $params['buy_max_number']!="")
            {
                $saveData['buy_max_number'] = $params['buy_max_number'];
            }

            // 销量
            if(isset($params['sales_count']) && $params['sales_count']!="")
            {
                $saveData['sales_count'] = $params['sales_count'];
            }

            // 访问次数
            if(isset($params['access_count']) && $params['access_count']!="")
            {
                $saveData['access_count'] = $params['access_count'];
            }

            // 最低原价
            if(isset($params['min_original_price']) && $params['min_original_price']!="")
            {
                $saveData['min_original_price'] = $params['min_original_price'];
            }

            // 最大原价
            if(isset($params['max_original_price']) && $params['max_original_price']!="")
            {
                $saveData['max_original_price'] = $params['max_original_price'];
            }

            // 最低价格
            if(isset($params['min_price']) && $params['min_price']!="")
            {
                $saveData['min_price'] = $params['min_price'];
            }

            // 最高价格
            if(isset($params['max_price']) && $params['max_price']!="")
            {
                $saveData['max_price'] = $params['max_price'];
            }

            // 标题颜色
            if(isset($params['title_color']) && $params['title_color']!="")
            {
                $saveData['title_color'] = $params['title_color'];
            }

            // 库存单位
            if(isset($params['inventory_unit']) && $params['inventory_unit']!="")
            {
                $saveData['inventory_unit'] = $params['inventory_unit'];
            }

            // 型号
            if(isset($params['model']) && $params['model']!="")
            {
                $saveData['model'] = $params['model'];
            }

            // 品牌名称
            if(isset($params['brand_name']) && $params['brand_name']!="")
            {
                $saveData['brand_name'] = $params['brand_name'];
            }

            // 标题
            if(isset($params['title']) && $params['title']!="")
            {
                $saveData['title'] = $params['title'];
            }

            // 原价（单值:10, 区间:10.00-20.00）一般用于展示使用
            if(isset($params['original_price']) && $params['original_price']!="")
            {
                $saveData['original_price'] = $params['original_price'];
            }

            // 销售价格（单值:10, 区间:10.00-20.00）一般用于展示使用
            if(isset($params['price']) && $params['price']!="")
            {
                $saveData['price'] = $params['price'];
            }

            // 分类树形描述(,1,2,3,)
            if(isset($params['category_tree']) && $params['category_tree']!="")
            {
                $saveData['category_tree'] = $params['category_tree'];
            }

            // 分类名称树形描述(,name1,name2,name3,)
            if(isset($params['category_name_tree']) && $params['category_name_tree']!="")
            {
                $saveData['category_name_tree'] = $params['category_name_tree'];
            }

            // 封面图片
            if(isset($params['images']) && $params['images']!="")
            {
                $saveData['images'] = $params['images'];
            }

            // 短视频
            if(isset($params['video']) && $params['video']!="")
            {
                $saveData['video'] = $params['video'];
            }

            // 规格列参数
            if(isset($params['spec_cols']) && $params['spec_cols']!="")
            {
                $saveData['spec_cols'] = $params['spec_cols'];
            }

            // 首页推荐图片
            if(isset($params['home_recommended_images']) && $params['home_recommended_images']!="")
            {
                $saveData['home_recommended_images'] = $params['home_recommended_images'];
            }

            // 自定义属性
            if(isset($params['attr_list']) && $params['attr_list']!="")
            {
                $saveData['attr_list'] = $params['attr_list'];
            }

            // 相册
            if(isset($params['photo_list']) && $params['photo_list']!="")
            {
                $saveData['photo_list'] = $params['photo_list'];
            }

            // 配送区域
            if(isset($params['region_list']) && $params['region_list']!="")
            {
                $saveData['region_list'] = $params['region_list'];
            }

            // 电脑端详情内容
            if(isset($params['content_web']) && $params['content_web']!="")
            {
                $saveData['content_web'] = $params['content_web'];
            }

            $status = SGoodsModel::save($saveData['id'],$saveData);
            if(!$status)
            {
                return $this->error('更新失败');
            }
            else
            {
                return $this->success('更新成功');
            }
        }else{
            $row = SGoodsModel::get(['id'=>$this->request->get('id')]);
            return view('common/auto_curd/php_system@s_goods/update',[
                'row' => $row
            ]);
        }
    }
    /**
     * 获取操作
     */
    public function read()
    {

        $list = SGoodsModel::paginate([]);
        $pagination = $list->render();
        return view('common/auto_curd/php_system@s_goods/read',[
            'list' => $list,
            'pagination' => $pagination
        ]);

    }
    /**
     * 删除操作
     */
    public function delete()
    {

        $status = SGoodsModel::delete($this->request->param('id'));
        if(!$status)
        {
            return $this->error('删除失败');
        }
        else
        {
            return $this->success('删除成功');
        }

    }
    
}